/*
*  LLFileData.h
*  
*
*  Created by Alexander Trutchenko on 11/02/12.
*  Copyright 2012 Free Team. All rights reserved.
*
*/

#ifndef __LL_FileData_h__
#define __LL_FileData_h__

#include "stdlib.h"

#include <string>

namespace lidlib {

////////////////////////////////////////////////////////
//
/** LLFileData
*  
*/
////////////////////////////////////////////////////////

class LLFileData
{
	unsigned char* _data;
	unsigned long _size;
	std::string _fileName;

public:
	LLFileData():_data(NULL), _size(0) {;}
	LLFileData(const char* filePath);
	//Make memory copy
	LLFileData(const LLFileData& fileData);
	LLFileData& operator = (const LLFileData& fileBuffer);
	
	virtual ~LLFileData();

public:
	const char* fileName() const { return _fileName.c_str(); }
	unsigned char* data() { return _data; }
	const unsigned char* data() const { return _data; }
	unsigned long size() const { return _size; }
};


} // namespace lidlib

#endif //__LL_FileData_h__
